package com.cc.struts.action;

import java.io.File;
import java.util.StringTokenizer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DownloadAction;

import com.cc.bean.ArchivoVO;
import com.cc.dao.OtDAO;
import com.cc.utils.Constantes;

public class FileDownload extends DownloadAction{

	
	protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
//		UsuarioVO usuario = (UsuarioVO)request.getSession().getAttribute("usuario");
//		int idUsuario = usuario.getId();
		ArchivoVO archivoVO = OtDAO.obtenerArchivo(Integer.parseInt(request.getParameter("file")));
		String mimeType = "";
		String extensionFile = obtenerExtension(archivoVO.getNombre());
//		if(archivoVO.getIdUsuario()== idUsuario){
		if(extensionFile.equals("pdf")){
			mimeType = "application/pdf";
		}else if(extensionFile.equals("doc") || extensionFile.equals("docx")){
			mimeType = "application/msword";
		}else if(extensionFile.equals("ppt") || extensionFile.equals("pptx")){
			mimeType = "application/vnd.ms-powerpoint";
		}else if(extensionFile.equals("xls") || extensionFile.equals("xlsx")){
			mimeType = "application/vnd.ms-excel";
		}else if(extensionFile.equals("zip")){
			mimeType = "application/zip";
		}
		return new FileStreamInfo(mimeType, new File(Constantes.RUTA_FINAL+archivoVO.getNombre()));	
		
	}
	
	private String obtenerExtension(String fileName){
		StringTokenizer str = new StringTokenizer(fileName, ".");
		String extension = "";
		while(str.hasMoreElements()){
			extension = str.nextToken();
		}
		return extension;
	}

}
